package com.dongxin.mongodbproject.common.util;

/**
 * @author 熊开斌
 */
public interface MongoHeaders extends HttpHeaders{
    static final String DONGXIN_PREFIX = "x-dongxin-";
    static final String DONGXIN_USER_METADATA_PREFIX = "x-dongxin-meta-";

    static final String DONGXIN_CANNED_ACL = "x-dongxin-acl";
    static final String STORAGE_CLASS = "x-dongxin-storage-class";
    static final String DONGXIN_VERSION_ID = "x-dongxin-version-id";

    static final String DONGXIN_SERVER_SIDE_ENCRYPTION = "x-dongxin-server-side-encryption";
    static final String DONGXIN_SERVER_SIDE_ENCRYPTION_KEY_ID = "x-dongxin-server-side-encryption-key-id";

    static final String GET_OBJECT_IF_MODIFIED_SINCE = "If-Modified-Since";
    static final String GET_OBJECT_IF_UNMODIFIED_SINCE = "If-Unmodified-Since";
    static final String GET_OBJECT_IF_MATCH = "If-Match";
    static final String GET_OBJECT_IF_NONE_MATCH = "If-None-Match";

    static final String HEAD_OBJECT_IF_MODIFIED_SINCE = "If-Modified-Since";
    static final String HEAD_OBJECT_IF_UNMODIFIED_SINCE = "If-Unmodified-Since";
    static final String HEAD_OBJECT_IF_MATCH = "If-Match";
    static final String HEAD_OBJECT_IF_NONE_MATCH = "If-None-Match";

    static final String COPY_OBJECT_SOURCE = "x-dongxin-copy-source";
    static final String COPY_SOURCE_RANGE = "x-dongxin-copy-source-range";
    static final String COPY_OBJECT_SOURCE_IF_MATCH = "x-dongxin-copy-source-if-match";
    static final String COPY_OBJECT_SOURCE_IF_NONE_MATCH = "x-dongxin-copy-source-if-none-match";
    static final String COPY_OBJECT_SOURCE_IF_UNMODIFIED_SINCE = "x-dongxin-copy-source-if-unmodified-since";
    static final String COPY_OBJECT_SOURCE_IF_MODIFIED_SINCE = "x-dongxin-copy-source-if-modified-since";
    static final String COPY_OBJECT_METADATA_DIRECTIVE = "x-dongxin-metadata-directive";
    static final String COPY_OBJECT_TAGGING_DIRECTIVE = "x-dongxin-tagging-directive";

    static final String DONGXIN_HEADER_REQUEST_ID = "x-dongxin-request-id";
    static final String DONGXIN_HEADER_VERSION_ID = "x-dongxin-version-id";

    static final String ORIGIN = "origin";
    static final String ACCESS_CONTROL_REQUEST_METHOD = "Access-Control-Request-Method";
    static final String ACCESS_CONTROL_REQUEST_HEADER = "Access-Control-Request-Headers";

    static final String ACCESS_CONTROL_ALLOW_ORIGIN = "Access-Control-Allow-Origin";
    static final String ACCESS_CONTROL_ALLOW_METHODS = "Access-Control-Allow-Methods";
    static final String ACCESS_CONTROL_ALLOW_HEADERS = "Access-Control-Allow-Headers";
    static final String ACCESS_CONTROL_EXPOSE_HEADERS = "Access-Control-Expose-Headers";
    static final String ACCESS_CONTROL_MAX_AGE = "Access-Control-Max-Age";

    static final String DONGXIN_SECURITY_TOKEN = "x-dongxin-security-token";

    static final String DONGXIN_NEXT_APPEND_POSITION = "x-dongxin-next-append-position";
    static final String DONGXIN_HASH_CRC64_ECMA = "x-dongxin-hash-crc64ecma";
    static final String DONGXIN_OBJECT_TYPE = "x-dongxin-object-type";

    static final String DONGXIN_OBJECT_ACL = "x-dongxin-object-acl";

    static final String DONGXIN_HEADER_CALLBACK = "x-dongxin-callback";
    static final String DONGXIN_HEADER_CALLBACK_VAR = "x-dongxin-callback-var";
    static final String DONGXIN_HEADER_SYMLINK_TARGET = "x-dongxin-symlink-target";

    static final String DONGXIN_STORAGE_CLASS = "x-dongxin-storage-class";
    static final String DONGXIN_RESTORE = "x-dongxin-restore";
    static final String DONGXIN_ONGOING_RESTORE = "ongoing-request=\"true\"";

    static final String DONGXIN_BUCKET_REGION = "x-dongxin-bucket-region";

    static final String DONGXIN_SELECT_PREFIX = "x-dongxin-select";
    static final String DONGXIN_SELECT_CSV_ROWS = DONGXIN_SELECT_PREFIX + "-csv-rows";
    static final String DONGXIN_SELECT_OUTPUT_RAW = DONGXIN_SELECT_PREFIX + "-output-raw";
    static final String DONGXIN_SELECT_CSV_SPLITS = DONGXIN_SELECT_PREFIX + "-csv-splits";
    static final String DONGXIN_SELECT_INPUT_LINE_RANGE = DONGXIN_SELECT_PREFIX + "-line-range";
    static final String DONGXIN_SELECT_INPUT_SPLIT_RANGE = DONGXIN_SELECT_PREFIX + "-split-range";

    static final String DONGXIN_TAGGING = "x-dongxin-tagging";

    static final String DONGXIN_REQUEST_PAYER = "x-dongxin-request-payer";

    static final String DONGXIN_HEADER_TRAFFIC_LIMIT = "x-dongxin-traffic-limit";

    static final String DONGXIN_HEADER_TASK_ID = "x-dongxin-task-id";
}
